package org.goodprinciples.commons.command.handler;

import org.goodprinciples.commons.command.Command;
import org.goodprinciples.commons.command.exception.CommandException;
import org.goodprinciples.commons.command.DataAccessCommand;
import org.goodprinciples.commons.command.ReportCommand;
import org.goodprinciples.commons.dao.DAOFactory;

/**
 *
 * @author iksyos
 */
public interface CommandHandler<F extends DAOFactory> {

    public void setDAOFactory(F factory);

    public void execute(Command c) throws CommandException;
    
    public void execute(DataAccessCommand dac) throws CommandException;

    public void execute(ReportCommand rc) throws CommandException;

}
